package com.ydd.controller.admin;

import com.ydd.result.Result;
import com.ydd.dto.TagDTO;
import com.ydd.dto.TagPageQueryDTO;
import com.ydd.result.PageResult;
import com.ydd.result.Result;
import com.ydd.service.YddTagService;
import com.ydd.vo.TagVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import java.util.List;

import java.util.List;

/**
 * @Description TODO
 * @Author fang
 * @Date 2023-05-29 16:48
 */
@Api(tags = "内容管理-标签管理")
@RestController
@RequestMapping("/admin/ydd_tag")
@Slf4j
public class YddTagController {
    @Autowired
    YddTagService yddTagService;
/*
    *//**
     * GET标签列表-全部
     * @return
     *//*
    @GetMapping("/all")
    @ApiOperation("GET标签列表-全部")
    public Result<List<TagVO>> all(){

        log.info("GET标签列表-全部");

        List<TagVO> list = yddTagService.all();

        return Result.success(list);
    }*/
    @ApiOperation("标签修改")
    @PostMapping("/update")
    public Result updateTag(@RequestBody TagDTO tagDTO){
        log.info("标签修改:{}",tagDTO);
        yddTagService.updateTag(tagDTO);
        return Result.success();
    }
    @ApiOperation("标签添加")
    @PostMapping("/add")
    public Result addTag(@RequestBody TagDTO tagDTO){
        log.info("标签添加:{}",tagDTO);
        yddTagService.addTag(tagDTO);
        return Result.success();
    }
    @ApiOperation("标签全部")
    @GetMapping("/all")
    public Result allTag(){
        log.info("标签全部");
       List<TagVO> tagVO= yddTagService.allTag();
        return Result.success(tagVO);
    }
    @ApiOperation("标签详情")
    @GetMapping("/rowInfo")
    public Result rowInfoTag(Long id){
        log.info("标签详情:{}",id);
        TagVO tagVO= yddTagService.rowInfoTag(id);
        return Result.success(tagVO);
    }
    @ApiOperation("标签分页")
    @GetMapping("/list")
    public Result<PageResult<TagVO>> pageTag(TagPageQueryDTO tagPageQueryDTO){
        log.info("标签分页:{}",tagPageQueryDTO);
        PageResult<TagVO> pageResult= yddTagService.pageTag(tagPageQueryDTO);
        return Result.success(pageResult);
    }
    @GetMapping("/del")
    @ApiOperation("标签删除")
    public Result deleteTag(Long id){
        log.info("标签删除:{}",id);
        yddTagService.deleteTag(id);
        return Result.success();

    }

}
